package cn.airfei.aircore.testcore.services.domainService;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import cn.airfei.aircore.testcore.services.entity.Goods;
import com.baomidou.mybatisplus.extension.service.IService;
import cn.airfei.aircore.testcore.storage.dto.GoodsDto;
import cn.airfei.aircore.testcore.storage.vo.GoodsVo;
import cn.airfei.aircore.core.storage.PageParam;
import java.util.Map;
import java.util.List;


/**
 * <p>
 * 商品
 * </p>
 *
 * @author air
 * @since 2022-04-24
 */
public interface GoodsDomainService extends IService<Goods> {

    /**
     *
     * @param goodsDto
     * @param pageParam
     * @return
     */
    Page<GoodsVo> index(GoodsDto goodsDto,PageParam pageParam);

    /**
     * 分页查询单表数据
     *
     * @param map
     * @return
     */
    Page<Goods> singleTablePage(Map<String, Object> map);

    /**
     * 显示单条数据
     *
     * @param id
     * @return
     */
    Goods show(String id);

    /**
     * 删除（销毁表数据）
     *
     * @param ids
     * @return
     */
    Integer destroy(String ids);

    /**
     * 更新表数据
     *
     * @param goods
     * @return
     */
    Integer update(Goods goods);

    /**
     * 保存表数据
     *
     * @param goods
     * @return
     */
    Integer store(Goods goods);

    /**
     * 设置状态，1:正常,2:禁用/待审核，-1:已删除
     *
     * @param id
     * @param status
     * @return
     */
    Integer setStatus(Integer id,Integer status);

    /**
     * get all resource in storage
     * @return
     */
    List<Goods> getAllGoods();

    /**
     * get list in single table
     *
     * @param map
     * @return
     */
    List<Goods> getSingleTableList(Map map);


}
